package com.culturalCenter.dataCenter.service.user;

import com.culturalCenter.dataCenter.customEntity.responseParam.user.UserPointListResponse;
import com.culturalCenter.dataCenter.customEntity.user.CustomPointStatistics;
import com.culturalCenter.dataCenter.entity.user.UserPoint;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * UserPoint业务层接口
 */
public interface UserPointService {

    /**
     * UserPoint分页查询
     *
     * @param page
     * @param size
     *
     * @return
     */
    PageInfo<UserPoint> findPage(int page, int size);

    /**
     * 删除UserPoint
     *
     * @param id
     */
    Integer delete(String id);

    /**
     * 修改UserPoint数据
     *
     * @param userPoint
     */
    Integer update(UserPoint userPoint);

    /**
     * 新增UserPoint
     *
     * @param userPoint
     */
    Integer add(UserPoint userPoint);

    /**
     * 根据ID查询UserPoint
     *
     * @param id
     *
     * @return
     */
    UserPoint findById(String id);

    /**
     * 查询所有UserPoint
     *
     * @return
     */
    List<UserPoint> findAll(UserPoint userPoint);

    /**
     * 用户积分记录列表
     *
     * @param userId
     * @param pageNum
     * @param pageSize
     *
     * @return
     */
    PageInfo<UserPointListResponse> findPointList(String userId, int pageNum, int pageSize);

    /**
     * 用户积分记录统计数据
     *
     * @param userId
     *
     * @return
     */
    CustomPointStatistics findPointStatisticsByUserId(String userId);

}
